Computing devices have been developed to increase the settings in which computing functionality is made available to users. For instance, mobile phones and slate form factor devices (e.g., tablets) have advanced to provide access to content, applications, services, browsing, and other computing functionality in mobile settings. Additionally, availability and use of various kinds of wearable computing devices (e.g., watches, fitness bands, pod devices, glasses, etc.) is steadily increasing.
Since users may easily manipulate mobile devices and wearable devices into the different viewing positions and orientations, it may be challenging to implement schemes for controlling positioning of on-screen elements and user interfaces as the devices are manipulated. Traditionally, devices implement auto-rotation techniques that rely upon accelerometers and upright orientation of the device (e.g., portrait or landscape). However, these accelerometer based techniques may be ineffective and provide incorrect positioning of on-screen elements when a device is placed flat on a surface (e.g., a table) as well as when a user interacting with the device while lying flat or on their side. Moreover, rotation of on-screen elements may be limited to portrait and landscape modes (e.g., ninety degree increments), which may not be sufficient for some scenarios and devices. Consequently, adjustment of on-screen elements and user interfaces using conventional techniques may be inadequate in some use scenarios and provide unexpected adjustments that may lead to user frustration and confusion.